package com.zhtools.wx;

import com.zhtools.wx.bean.GetAccessTokenByCodeResponse;
import com.zhtools.wx.bean.TemplateData;
import com.zhtools.wx.bean.WXShareResponse;
import com.zhtools.wx.bean.WXUserInfoResponse;

/**
 * @author zhanghao
 * 微信服务接口
 */
public interface WXService {
    /**
     * 获取网页授权的请求地址
     */
    String getWebPageAuthUrl(String redirectUri, String state);

    /**
     * 根据code获取 accessToken
     */
    GetAccessTokenByCodeResponse getAccessTokenByCode(String code);

    /**
     * 获取微信用户详细信息
     */
    WXUserInfoResponse getUserInfo(GetAccessTokenByCodeResponse accessToken);

    /**
     * 获取全局 accessToken
     */
    String getGlobalAccessToken();

    /**
     * 获取jsapi调用票据
     */
    String getGlobalJsapiTicket();

    /**
     * 发送模板消息
     */
    void sendTemplateMessage(TemplateData data);

    /**
     * 分享
     */
    WXShareResponse share(String url, String defaultShareImage);
}
